﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Agencia.Models;

namespace Agencia.Controllers
{

       
    public class HomeController : Controller
    {
        private AgenciaBD db = new AgenciaBD();
        private WsAerolinea.Service1 ws = new WsAerolinea.Service1();

        [Authorize]
        public ActionResult Index()
        {
            Cliente cliente = (from c in db.Clientes
                              where c.Nombre_Usuario == User.Identity.Name
                              select c).Single();

            String nombre = "Hola, " + cliente.Nombre + " " + cliente.Apellido;
            ViewBag.Message = "Bienvenido a Sky Jet";
            ViewBag.Error = "";
            ViewBag.Nombre = nombre;
            return View();
        }

        [Authorize]
        [HttpPost]
        public ActionResult Index(int txtSalir, int txtLlegar, DateTime FechaSalida)
        {
            var vuelos = ws.Lista_Vuelos();

            Cliente cliente = (from c in db.Clientes
                               where c.Nombre_Usuario == User.Identity.Name
                               select c).Single();
            String nombre = "Hola, " + cliente.Nombre + " " + cliente.Apellido;

            var lista = (from v in vuelos
                         where v.Ciudad_Origen == txtSalir &&
                               v.Ciudad_Destino == txtLlegar &&
                               v.Fecha.Date == FechaSalida.Date &&
                               v.Fecha > DateTime.Now
                         select v).ToList();

            if (lista.Count > 0)
            {
                return RedirectToAction("ListaVuelos", "Reservacion", new
                {
                    txtSalir = txtSalir,
                    txtLlegar = txtLlegar,
                    FechaSalida = FechaSalida.Date
                });
            }

            else
            {
                ViewBag.Error = "No Hay Vuelos Disponibles Con Ese Criterio";
                ViewBag.Nombre = nombre;
                return View();
            }
        }

        [Authorize]
        public ActionResult About()
        {
            return View();
        }
    }
}
